package com.wltjack.common;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotatedTypeMetadata;

public class MagicCondition implements Condition {

    /**
     * 实现matches方法，如果返回true就创建该Bean，如果返回false则不创建该Bean。
     * @param context
     * @param metadata
     * @return
     */
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        Environment env = context.getEnvironment();
        if(env.containsProperty("magicCondition")){ // 检查application.xml配置文件中是否存在magicCondition属性key
            String magicCondition = env.getProperty("magicCondition");// 获取属性的值
            return "true".equals(magicCondition); // 返回属性的值是否为true
        }
        return false; // 返回false
    }
}
